跳到主要内容

3.5.2 Vpp计算方法

为了计算输入信号的峰峰值(Vpp),我们需要找到采集到的ADC数据中的最大值和最小值,并根据ADC的分辨率和参考电压来映射这些值到实际电压。具体来说,使用以下公式计算Vpp:

Vpp=3.3×(maxmin)4095V_{pp} = \frac{3.3 \times (\text{max} - \text{min})}{4095}

其中,max和min分别是ADC数据中的最大值和最小值。此公式考虑了ADC的12位分辨率和3.3V的参考电压(0-3.3V的电压可以分成(2的12次方-1)4095份)。

     //calculate vpp
int16_t max = adc_data_raw[0];
int16_t min = adc_data_raw[0];

for(int i=0;i < 240 ;i++)
{
if (adc_data_raw[i] > max)
{
max = adc_data_raw[i];
}
if (adc_data_raw[i] < min)
{
min = adc_data_raw[i];
}
}
Vpp = 3.3f * (max - min) / 4095.0f;

Voltage1 = (max + min) / 2.0f;
Voltage1 = 3.3f * Voltage1 / 4095.0f;
sprintf(txt,"Vpp:%1.2f V",Vpp);
Show_8x16_Str(20,208,txt,0xffff,0x0000);